package com.xhj.mybatis.executor.resultset;

import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;

/**
 * ResultSetHandler
 *
 * @author XJks
 * @description 结果集处理器接口。TODO:该类负责处理对应整个结果集或多个结果集。
 */
public interface ResultSetHandler {

    /**
     * 处理并返回查询结果集，将结果集转换为 Java 对象列表
     *
     * @param stmt 执行 SQL 查询后的 Statement 对象
     * @param <E>  结果列表中元素的类型
     * @return Java 对象列表，包含查询结果
     * @throws SQLException SQL 执行过程中可能抛出的异常
     */
    <E> List<E> handleResultSets(Statement stmt) throws SQLException;
}
